package base.list;

import java.util.ArrayList;
import java.util.List;

public class Node {
	
	private Node lightNode;
	private Node leftNode;
	private Object value;
	//插入数据
	public void add(Object v){
		if(null==value){
			value =v;
		}
		else{
			if((Integer)v-(Integer)value <=0 ){
				if(null==leftNode)
					leftNode = new Node();
					leftNode.add(v);
			}else{
					if(null==lightNode){
						lightNode = new Node();
						lightNode.add(v);
				}
			}
		}
	}
	// 中序遍历所有的节点
    public List<Object> values() {
        List<Object> values = new ArrayList<>();
  
        // 左节点的遍历结果
        if (null != leftNode)
            values.addAll(leftNode.values());
  
        // 当前节点
        values.add(value);
  
        // 右节点的遍历结果
        if (null != lightNode)
  
            values.addAll(lightNode.values());
  
        return values;
    }

}
